package es.urjc.ldm.componentes;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import es.urjc.ldm.carrodecompra.*;

public class ArticulosAdapter extends BaseAdapter {

    protected Activity activity;
	protected CarroDeCompra carroDeCompra;
	         
	/** Constructor de la clase ListProduct, inicializa el contador de articulos y su precio
	 *
	 * @author manuelgblanco
	 * @version 1.0z 1 Abril, 2013.
	 * @param
	 * @return 
	 */
	public ArticulosAdapter(Activity activity, CarroDeCompra products) {
	    this.activity = activity;
	    this.carroDeCompra = products;
	}
	  
	@Override
	/** Constructor de la clase ListProduct, inicializa el contador de articulos y su precio
	 *
	 * @author manuelgblanco
	 * @version 1.0z 1 Abril, 2013.
	 * @param
	 * @return 
	 */
	public int getCount() {
		return carroDeCompra.getDistinctProductTotal();
	}

	@Override
	/** Constructor de la clase ListProduct, inicializa el contador de articulos y su precio
	 *
	 * @author manuelgblanco
	 * @version 1.0z 1 Abril, 2013.
	 * @param
	 * @return 
	 */
	public Object getItem(int position) {
		 return carroDeCompra.getItem(position); 
	}

	@Override
	/** Constructor de la clase ListProduct, inicializa el contador de articulos y su precio
	 *
	 * @author manuelgblanco
	 * @version 1.0z 1 Abril, 2013.
	 * @param
	 * @return 
	 */
	public long getItemId(int position) {
		ListaArticulos prods = (ListaArticulos) getItem(position);
		 return prods.getListProduct().getCod();
	}

	@Override
	/** Constructor de la clase ListProduct, inicializa el contador de articulos y su precio
	 *
	 * @author manuelgblanco
	 * @version 1.0z 1 Abril, 2013.
	 * @param
	 * @return 
	 */
	public View getView(int position, View convertView, ViewGroup parent) {
		View vi=convertView;
        
	    if(convertView == null) {
	      LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
	      vi = inflater.inflate(R.layout.articulos_lista, null);
	    }
	             
	    ListaArticulos listProd = (ListaArticulos) getItem(position);
	    InfoArticulos prod = listProd.getListProduct();
	    	       	         
	    ImageView image = (ImageView) vi.findViewById(R.id.imagen_producto);
	   
	    //int imageResource = activity.getResources().getIdentifier(item.getRutaImagen(), null, activity.getPackageName());
	    //image.setImageDrawable(activity.getResources().getDrawable(imageResource));
	         
	    TextView unitsProd = (TextView) vi.findViewById(R.id.unidades);
	    unitsProd.setText(Integer.toString(listProd.getNumUnits()));
	    
	    TextView nameProduct = (TextView) vi.findViewById(R.id.producto);
	    nameProduct.setText(prod.getNameProduct());
	    
	    TextView priceProduct = (TextView) vi.findViewById(R.id.precio_unidad);
	    priceProduct.setText(Double.toString(prod.getPrice()));
	    
	    TextView priceTotalProduct = (TextView) vi.findViewById(R.id.precio_total);
	    priceTotalProduct.setText(Double.toString(listProd.getTotalPrice()));
	  	        
	    if (prod.getOffers().compareTo(OfertasEnum.NOTHING) != 0){
	    	vi.setBackgroundColor(Color.rgb(50, 179, 226));
	    }else{
	    	vi.setBackgroundColor(Color.WHITE);
	    }
	    
	    return vi;
	}

}
